package com.hui.admin.service;


import com.baomidou.mybatisplus.extension.service.IService;
import com.hui.admin.dto.request.ArticlePageRequestDTO;
import com.hui.admin.dto.request.ArticleSaveRequestDTO;
import com.hui.admin.dto.response.ArticleCategoryResponseDTO;
import com.hui.admin.dto.response.ArticlePageResponseDTO;
import com.hui.admin.entity.ArticleDO;

import java.util.List;

public interface ArticleService extends IService<ArticleDO> {

    /**
     * 获取文章列表
     *
     * @param requestDTO 请求参数
     * @return 文章列表
     */
    ArticlePageResponseDTO getArticleList(ArticlePageRequestDTO requestDTO);

    /**
     * 新增文章
     *
     * @param requestDTO 请求参数
     */
    void createArticle(ArticleSaveRequestDTO requestDTO);

    /**
     * 更新文章
     *
     * @param requestDTO 请求参数
     */
    void updateArticle(ArticleSaveRequestDTO requestDTO);

    /**
     * 删除文章
     *
     * @param id ID
     */
    void deleteArticle(Long id);

    /**
     * 批量删除
     *
     * @param ids IDS
     */
    void deleteArticles(Long[] ids);

    /**
     * 获取分类列表
     *
     * @return 分类名称
     */
    List<ArticleCategoryResponseDTO> getCategoryList();

}
